<template>
  <cascade-select style="width:200px" :dict="getDict()" :elProps="cascadeElProps"/>
</template>

<script>
import {request} from "@/api/service";
import XEUtils from "_xe-utils@3.5.4@xe-utils";

export default {
  name: "v-dict",
  data(){
    return {
      getDict() {
        return {
          cache: false,
          url: '/api/system/dictionary/' + '?status=1&limit=9999&ignoreLastLevel=1',
          isTree: true,
          value: 'id', // 数据字典中value字段的属性名
          label: 'label', // 数据字典中label字段的属性名
          children: 'children', // 数据字典中children字段的属性名
          getData: (url, dict) => { // 配置此参数会覆盖全局的getRemoteDictFunc
            return request({url: url}).then(ret => {
              return XEUtils.toArrayTree(ret.data.data, {parentKey: 'parent', strict: true})
            })
          }
        }
      },
      cascadeElProps: {
        showAllLevels: false, // 仅显示最后一级
        props: {
          checkStrictly: true, // 可以不需要选到最后一级
          emitPath: false,
          expandTrigger: 'hover'
        }
      },
    }
  }
}
</script>

<style scoped>

</style>
